package main

import "fmt"

type ListNode struct {
   Val int
   Next *ListNode
}

// 迭代
// 时间复杂度：O(n)
// 空间复杂度：O(1)
func printListIter(head *ListNode) {
   for {
      if head == nil {
         return
      }
      fmt.Print(head.Val)
      head = head.Next
   }
}

// 递归
func printList(head *ListNode) {
   if head == nil {
      return
   }
   fmt.Print(head.Val)
   printList(head.Next)
}
